package com.cloud.tsp.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cloud.api.domain.forward.QueryVehicleSale;
import com.cloud.api.domain.screen.MapData;
import com.cloud.api.domain.screen.ModelSale;
import com.cloud.api.domain.tsp.*;
import com.cloud.api.constants.StrVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author haohaibo
 * @since 2023-12-20
 */
public interface VehicleSaleMapper extends BaseMapper<VehicleSale> {

    IPage<VehicleSale> selectVehicleSaleList(IPage<?>page, @Param("c") QueryVehicleProduction para);

    List<VehicleSale> selectAllVehicleSaleList(@Param("c") QueryVehicleProduction para);

    IPage<VehicleSale> selectVehicleForwardList(IPage<?>page, @Param("c") QueryVehicleSale para);

    VehicleBaseVo selectVehicleBaseInformation(@Param("id") String id);

    List<VinLockStatus> selectVinScopeTsp(IPage<?>page, @Param("vin") String vin);

    List<VehicleSale> getSaleCount();

    List<ModelSale> getSaleCountTop5();

    List<VehicleSale> getSaleCountTop10();

    List<MapData> getSaleCountMap();
}